﻿// ReSharper disable StringLiteralTypo

using NUnit.Framework;

namespace Bzstd.Test;

public class BeeMusicGenerator
{
	[Test]
	public void Execute()
	{
		(string name, string time)[] a =
		[
			("A Land Of Great Beauty", "3:18"),
			("A Land Of Ruins", "2:42"),
			("A Land Of Tombs", "2:17"),
			("A Worlds Apart", "5:00"),
			("All Else Is Decay", "2:54"),
			("Before Was Only Chaos", "2:17"),
			("Blessed And Beloved", "1:50"),
			("Do With It As You Will", "2:59"),
			("Blessed Messenger", "0:59"),
			("The End Of The Process", "3:30"),
			("False God", "3:58"),
			("Heavenly Clouds", "2:40"),
			("Made Of Words", "4:45"),
			("Out There", "2:49"),
			("Sanctuary", "1:54"),
			("Temple Of My Father", "2:48"),
			("The Dance Of Eternity", "1:24"),
			("The Fall Of Gehenna", "1:06"),
			("The Forbidden Tower", "3:44"),
			("The Guardians", "2:21"),
			("The Sigils Of Our Name", "2:32"),
			("The Temple Of The Sands", "2:00"),
			("The Worlds Of My Garden Are Many", "2:49"),
			("To Seek Salvation", "2:21"),
			("Trials ", "3:48"),
			("Virgo Serena", "1:32"),
			("Welcome to Gehenna", "1:45"),
			("Welcome To Heaven ", "2:21"),
			("When In Rome", "2:27"),
			("Your Wisdom Grows", "2:10")
		];
		var res = string.Join("\n", a.Select((t, i) => $$"""
			"Music"
			{
				"ID"            "TALOS_{{i + 1:00}}"
				"Name"          "{{t.name}}"
				"ShortName"     "{{t.name}}"
				"Sort_key"      "{{i + 1:00}}"
				"Group"         "The Talos Principle"
				"Icon"          "talos/talos_96x96"
				"IconLarge"     "talos/talos_256x192"
				"Authors"       "Damjan Mravunac"
				"Description"   "A track used in The Talos Principle."
				"Sample"        "talos/{{i + 1:00}}.ogg"
				"loop_len"      "{{t.time}}"
				"SoundScript"   "BEE2/music/talos/{{i + 1:00}}.mp3"
				"Children"
				{
					"tBeam" "VALVE_TEST"
					"BounceGel" "VALVE_PETI_BOUNCE_GEL"
					"SpeedGel" "VALVE_CAUSE_SCIENCE"
				}
			}
		""".Replace("\t\t\t", string.Empty)));
		Console.WriteLine(res);
	}
}
